package com.andyou.rest.entity;

import java.util.Date;

import org.hibernate.validator.constraints.Length;

import com.andyou.common.persistence.DataEntity;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * app回话上下文Entity
 * @author lgx
 * @version 2017-04-20
 */
public class AppSessionContext extends DataEntity<AppSessionContext> {
	
	private static final long serialVersionUID = 1L;
	private String accessToken;		// 访问令牌 跟id一致，方便查询
	private String account;		// 用户的帐号
	private Date loginDate;		// 登录时间
	private Date expiredDate;		// 有效期
	private String companyId;		// 所属公司id
	private String companyName;		// 所属公司名称
	private String officeId;		// 所属部门id
	private String officeName;		// 所属部门名称
	
	public AppSessionContext() {
		super();
	}

	public AppSessionContext(String id){
		super(id);
	}

	   
	   
    /** 
     *访问令牌  
     *
     */
	@Length(min=0, max=38, message="访问令牌长度必须介于 0 和 38 之间")
	public String getAccessToken() {
		return accessToken;
	}

    /** 
     *访问令牌  
     *
     */
	public void setAccessToken(String accessToken) {
		this.accessToken = accessToken;
	}
	
	   
    /** 
     *用户的帐号  
     *
     */
	@Length(min=0, max=50, message="用户的帐号长度必须介于 0 和 50 之间")
	public String getAccount() {
		return account;
	}

    /** 
     *用户的帐号  
     *
     */
	public void setAccount(String account) {
		this.account = account;
	}
	
	   
    /** 
     *登录时间  
     *
     */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getLoginDate() {
		return loginDate;
	}

    /** 
     *登录时间  
     *
     */
	public void setLoginDate(Date loginDate) {
		this.loginDate = loginDate;
	}
	
	   
    /** 
     *有效期  
     *
     */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getExpiredDate() {
		return expiredDate;
	}

    /** 
     *有效期  
     *
     */
	public void setExpiredDate(Date expiredDate) {
		this.expiredDate = expiredDate;
	}
	
	   
    /** 
     *所属公司id  
     *
     */
	@Length(min=0, max=38, message="所属公司id长度必须介于 0 和 38 之间")
	public String getCompanyId() {
		return companyId;
	}

    /** 
     *所属公司id  
     *
     */
	public void setCompanyId(String companyId) {
		this.companyId = companyId;
	}
	
	   
    /** 
     *所属公司名称  
     *
     */
	@Length(min=0, max=100, message="所属公司名称长度必须介于 0 和 100 之间")
	public String getCompanyName() {
		return companyName;
	}

    /** 
     *所属公司名称  
     *
     */
	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}
	
    /** 
     *所属部门名称  
     *
     */
	@Length(min=0, max=100, message="所属部门名称长度必须介于 0 和 100 之间")
	public String getOfficeName() {
		return officeName;
	}

    /** 
     *所属部门名称  
     *
     */
	public void setOfficeName(String officeName) {
		this.officeName = officeName;
	}

	/** 
	 * 获取   officeId 
	 * @return officeId officeId
	 * @author 作者：lgx
	 * @date 创建时间：2017年4月20日
	 */
	public String getOfficeId() {
		return officeId;
	}

	/** 
	 * 设置   officeId 
	 * @param officeId officeId 
	 * @author 作者：lgx
	 * @date 创建时间：2017年4月20日
	 */
	public void setOfficeId(String officeId) {
		this.officeId = officeId;
	}
	
	   
	   
	   
	   
	   
	   
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}